package com.anfeng.cms.service.emp;

import com.anfeng.cms.domain.emp.AfGuestInfo;
import com.anfeng.cms.request.emp.GuestInfoReq;
import com.baomidou.mybatisplus.service.IService;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 吴朋
 * @since 2019-07-15
 */
public interface IAfGuestInfoService extends IService<AfGuestInfo> {

    /**
     * 新增访客信息
     * @param guestInfo 访客信息
     * @return 访客信息id
     */
    String addGuestInfo(AfGuestInfo guestInfo);

    /**
     * 根据访客手机号 查询是否存在访客记录信息
     * @param mobile 访客手机号
     * @return 是否存在访客信息
     */
    AfGuestInfo getGuestInfoByMobile(String mobile);
    /**
     * 根据查询条件获取访客信息
     * @param guestInfoReq 查询访客信息
     * @return 访客信息
     */
    List<AfGuestInfo> getAllGuestInfos(GuestInfoReq guestInfoReq);

    /**
     * 根据查询条件获取访客数量
     * @param guestInfoReq 查询条件
     * @return 访客数量
     */
    int getAllGuestInfoCounts(GuestInfoReq guestInfoReq);

    /**
     * 分页查询访客信息
     * @param guestInfoReq 查询条件
     * @param page 页数
     * @param pageSize 每页数量
     * @return 获取信息
     */
    List<AfGuestInfo> getGuestInfoByPage(GuestInfoReq guestInfoReq, Integer page, Integer pageSize);

    /**
     * 根据访客id 更新访客照片
     * @param guestId 访客id
     * @param photoId 照片id
     * @return 是否成功 -1 失败 1 成功
     */
    int updateGuestPhoto(String guestId, String photoId);

    /**
     * 修改访客状态 是否禁用 （1 启用 2 禁用）
     * @param guestId 访客id
     * @param state 状态 是否启用
     * @return 是否修改成功 -1 失败 1 成功
     */
    int updateGuestInfoState(String guestId, Integer state);
}
